using System;
using System.Collections;
using System.Collections.Generic;

using QLKS.DataLayer.Base;

namespace QLKS.DataLayer.BusinessObjects
{
    public partial class HoaDon : BusinessBase<string>
    {
        #region Declarations

		private decimal? _tongGiaTri = null;
		private System.DateTime? _ngayLap = null;
		private System.DateTime? _ngayCapNhat = null;
		
		private CTHoaDon _cTHoaDon = null;
		private NhanVien _nhanVien1 = null;
		private NhanVien _nhanVien2 = null;
		private TinhTrang _tinhTrang = null;
		
		
		#endregion

        #region Constructors

        public HoaDon() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_tongGiaTri);
			sb.Append(_ngayLap);
			sb.Append(_ngayCapNhat);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual decimal? TongGiaTri
        {
            get { return _tongGiaTri; }
			set
			{
				OnTongGiaTriChanging();
				_tongGiaTri = value;
				OnTongGiaTriChanged();
			}
        }
		partial void OnTongGiaTriChanging();
		partial void OnTongGiaTriChanged();
		
		public virtual System.DateTime? NgayLap
        {
            get { return _ngayLap; }
			set
			{
				OnNgayLapChanging();
				_ngayLap = value;
				OnNgayLapChanged();
			}
        }
		partial void OnNgayLapChanging();
		partial void OnNgayLapChanged();
		
		public virtual System.DateTime? NgayCapNhat
        {
            get { return _ngayCapNhat; }
			set
			{
				OnNgayCapNhatChanging();
				_ngayCapNhat = value;
				OnNgayCapNhatChanged();
			}
        }
		partial void OnNgayCapNhatChanging();
		partial void OnNgayCapNhatChanged();
		
		public virtual CTHoaDon CTHoaDon
        {
            get { return _cTHoaDon; }
			set
			{
				OnCTHoaDonChanging();
				_cTHoaDon = value;
				OnCTHoaDonChanged();
			}
        }
		partial void OnCTHoaDonChanging();
		partial void OnCTHoaDonChanged();
		
		public virtual NhanVien NhanVien1
        {
            get { return _nhanVien1; }
			set
			{
				OnNhanVien1Changing();
				_nhanVien1 = value;
				OnNhanVien1Changed();
			}
        }
		partial void OnNhanVien1Changing();
		partial void OnNhanVien1Changed();
		
		public virtual NhanVien NhanVien2
        {
            get { return _nhanVien2; }
			set
			{
				OnNhanVien2Changing();
				_nhanVien2 = value;
				OnNhanVien2Changed();
			}
        }
		partial void OnNhanVien2Changing();
		partial void OnNhanVien2Changed();
		
		public virtual TinhTrang TinhTrang
        {
            get { return _tinhTrang; }
			set
			{
				OnTinhTrangChanging();
				_tinhTrang = value;
				OnTinhTrangChanged();
			}
        }
		partial void OnTinhTrangChanging();
		partial void OnTinhTrangChanged();
		
        #endregion
    }
}
